﻿using System.Windows.Forms;
using PLAYXPERT.Interfaces;

namespace SkypePXP
{
    public partial class WidgetSettingsPage : UserControl, ISettingsPage
    {
        public WidgetSettingsPage()
        {
            InitializeComponent();
        }

        #region Implementation of ISettingsPage

        /// <summary>
        ///             Initialize the settings page.
        /// </summary>
        /// <remarks>
        ///             This method is called by the Core, to give the widget a chance to initialize any 
        ///             local variables or load any data that it needs, before having to display anything.
        /// </remarks>
        /// <param name="core">The core.</param>
        public void InitSettingsPage(ICore core)
        {

        }

        /// <summary>
        ///             Return the name to use for the settings page
        /// </summary>
        /// <remarks>
        ///             This is the name of the page as it will appear in the Preferences dialog.  Usually this 
        ///             is the widget name.
        /// </remarks>
        /// <returns>
        /// the name to use for the settings page
        /// </returns>
        public string GetSettingsPageName()
        {
            return "SkypePXP Settings";
        }

        /// <summary>
        ///             Return the settings control that can be docked in the Preferences dialog
        /// </summary>
        /// <remarks>
        ///             This control will appear inside the Preferences dialog when the user selects the 
        ///             settings page whose name is returned by <see cref="M:PLAYXPERT.Interfaces.ISettingsPage.GetSettingsPageName" />
        /// </remarks>
        /// <returns>
        /// The settings control that can be docked in the settings dialog
        /// </returns>
        public Control GetSettingsPageCtrl()
        {
            return this;
        }

        /// <summary>
        ///             Read settings from the settings store 
        /// </summary>
        /// <remarks>
        ///             This method is called by the core, to give the widget a chance to read its 
        ///             settings and update the Control returned by <see cref="M:PLAYXPERT.Interfaces.ISettingsPage.GetSettingsPageCtrl" />.
        ///             Usually this method is called when the user enters the Preferences dialog.
        /// </remarks>
        public void ReloadSettings()
        {

        }

        /// <summary>
        ///             Store settings from user interface elements to the settings store. 
        /// </summary>
        /// <remarks>
        ///             This method is called by the core, when the Control returned by 
        ///             <see cref="M:PLAYXPERT.Interfaces.ISettingsPage.GetSettingsPageCtrl" /> have been updated, and need to be saved back into the 
        ///             SettingsStore.
        ///             Usually this method is called when the user has clicked the Ok button to save his or 
        ///             her settings.
        /// </remarks>
        public void ApplySettings()
        {

        }

        #endregion


    }
}
